﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Csla.Core;
using System.Collections;

namespace NetFrameworkExtensions.BusinessLayer.Csla4
{
  public interface ICslaBusinessObject :
    ICslaBusinessBase,
    IBusinessObject
  {
    IEnumerable<IPropertyInfo> GetRegisteredProperties();
  }

  public interface ICslaBusinessObject<TEntity, TIdentifier> :
    ICslaBusinessObject,
    IBusinessObject<TEntity, TIdentifier>
    where TIdentifier : IEquatable<TIdentifier>
  {
  }

  public interface ICslaBusinessObject<TEntity, TIdentified, TIdentifier> :
    ICslaBusinessObject<TEntity, TIdentifier>,
    IBusinessObject<TEntity, TIdentified, TIdentifier>
    where TIdentified : class, ICslaBusinessObject<TEntity, TIdentified, TIdentifier>
    where TIdentifier : IEquatable<TIdentifier>
  {
  }
}
